﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime;
using System.Web;

namespace XM.Comm
{
    //[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = false)]
    [AttributeUsage(AttributeTargets.All)]
    public class DescriptionAttribute : Attribute
    {
        // 摘要:
        //     指定 System.ComponentModel.DescriptionAttribute 的默认值，即空字符串 ("")。此 static 字段是只读的。
        public static readonly DescriptionAttribute Default;

        //// 摘要:
        ////     不带参数初始化 System.ComponentModel.DescriptionAttribute 类的新实例。
        //public DescriptionAttribute();
        //
        // 摘要:
        //     初始化 System.ComponentModel.DescriptionAttribute 类的新实例并带有说明。
        //
        // 参数:
        //   description:
        //     说明文本。
        [TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
        public DescriptionAttribute(string description)
        {
            Description=description;
        }

        // 摘要:
        //     获取存储在此特性中的说明。
        //
        // 返回结果:
        //     存储在此特性中的说明。
        public virtual string Description { get; set; }
        //
        // 摘要:
        //     获取或设置作为说明存储的字符串。
        //
        // 返回结果:
        //     作为说明存储的字符串。默认值为空字符串 ("")。
        protected string DescriptionValue { get; set; }

        //// 摘要:
        ////     返回给定对象的值是否等于当前的 System.ComponentModel.DescriptionAttribute。
        ////
        //// 参数:
        ////   obj:
        ////     要进行值的相等性测试的对象。
        ////
        //// 返回结果:
        ////     如果给定对象的值等于当前对象的值，则为 true；否则为 false。
        //public override bool Equals(object obj);
        //public override int GetHashCode();
        ////
        //// 摘要:
        ////     返回一个值，该值指示这是否为默认 System.ComponentModel.DescriptionAttribute 实例。
        ////
        //// 返回结果:
        ////     如果这是默认 System.ComponentModel.DescriptionAttribute 实例，则为 true；否则为 false。
        //public override bool IsDefaultAttribute();
    }
}